'$IFNDEF SUPPORT_INCLUDED
'$DEFINE SUPPORT_INCLUDED

CONST MAX_PATH     =      260
CONST MAX_PORT     =       100     '' Guess only
CONST MAX_DEVICE_MODEL =   100     '' Guess only
CONST MAX_DRIVE =   3

CONST IM_COMPLETE  =  0
CONST IM_CUSTOM    =      1
CONST IM_NETADMIN  =  2

CONST IT_STANDALONE=  0
CONST IT_NETWORK   =  1

'' make sure these numbers match the ones in the infoerr.h file
CONST c_iDO_NET_ADMIN = 13

TYPE RUNTIME
    iInstallMethod as integer
    lpszPort as Pointer TO STRING * MAX_PORT
    bHasBidi as integer
    lpszDeviceID as Pointer TO STRING * MAX_DEVICE_MODEL   '' Device on port (maybe null string)
    lpszPrinterName as Pointer TO STRING * MAX_DEVICE_MODEL '' Name of the printer
    bReboot  as integer
END TYPE

TYPE ENVIRONMENT
    iOSMajor as integer
    iOSMinor as integer
    iOSIsNT as integer
    szTempDir as pointer to STRING * MAX_PATH
    szWindowsDir as pointer TO STRING * MAX_PATH
    szSystemDir as pointer to STRING * MAX_PATH
    szWindowsDrive as pointer to STRING * MAX_DRIVE
    szSystemDrive as pointer to STRING * MAX_DRIVE
    iDisplayX as integer
    iDisplayY as integer
    iInstallType  as integer
    runTime as RUNTIME
END TYPE

'' Make sure these numbers match the ones in the vercheck.cpp file
const   c_iVERSION_1_NEWER%         = 100
const   c_iVERSION_1_NOT_FOUND%     = 101
const   c_iVERSION_1_2_SAME%        = 200
const   c_iVERSION_1_2_NOT_FOUND%   = 201
const   c_iVERSION_1_2_NO_VERSION%  = 202
const   c_iVERSION_2_NEWER%         = 300
const   c_iVERSION_2_NOT_FOUND%     = 301


declare function GetInstallString lib "support.dll" ( iStringId as integer, szListName$) as integer
declare function GetInstallEnvironment lib "support.dll" () as pointer to ENVIRONMENT
declare function FixMainWindow lib "support.dll" ( hWndFrame as integer ) as integer

declare function ReadAllFileGroups lib "support.dll" () as integer
declare function CleanTempDir lib "support.dll" (szDir$) as integer

''$IFDEF LOG_PROTO
declare function GetSystemLogFile lib "support.dll" () as integer
''$ENDIF

declare function IsSupportedPrinterAttached lib "support.dll" (ipCount as pointer to integer) as integer

declare function SetSelectionsForPrinter lib "support.dll" () as integer

declare function Initialize lib "support.dll"  () as integer
declare function Cleanup lib "support.dll" () as integer

declare function IsCurrentPrinterPostScript lib "support.dll" () as integer

declare function BidiReady lib "support.dll" () as long
declare function CheckBidi lib "support.dll" () as integer
declare function IsNetworked lib "support.dll" () as integer

declare function ReadInfoFile lib "support.dll" (iProcessor%) as integer
declare function ReleaseInfoFile lib "support.dll" () as integer

declare function GetTaskCount lib "support.dll" () as integer

declare function Copy32BitFiles lib "support.dll" () as integer

declare function TestBidi lib "support.dll" (lpszPort as any) as integer

declare function IsPrinterSupported lib "support.dll" ( lpszPrinterID$  ) as integer
declare function GetPrinterCount lib "support.dll" () as integer

declare function IsComponentSelected lib "support.dll" (lpszTitle$) as integer
declare function PutComponentsInCopyList lib "support.dll" (lpszSection$, lpszComponent$) as integer
declare function IniActionUpdate lib "support.dll" () as integer
declare function GetComponentDir lib "support.dll" (lpszCompSectionName$, lpszDir$) as integer

declare function AnyComponentsSelected lib "support.dll" () as integer
declare function InstallOnThisOS lib "support.dll" () as integer
'$ENDIF
